| Conditions | 2 | 
| Total Lines | 18 | 
| Code Lines | 15 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Changes | 0 | ||
| 1 | import { useEffect } from "react"; | 
            ||
| 10 | |||
| 11 | // eslint-disable-next-line import/prefer-default-export  | 
            ||
| 12 | export function useLoadClassifications(  | 
            ||
| 13 | dispatch: DispatchType,  | 
            ||
| 14 | ): { | 
            ||
| 15 | classifications: Classification[];  | 
            ||
| 16 | isLoadingClassifications: boolean;  | 
            ||
| 17 | } { | 
            ||
| 18 | const classifications = useSelector(getClassifications);  | 
            ||
| 19 | const isLoading = useSelector(classificationsIsLoading);  | 
            ||
| 20 | |||
| 21 |   useEffect((): void => { | 
            ||
| 22 |     if (classifications.length === 0 && !isLoading) { | 
            ||
| 23 | dispatch(loadClassificationsIntoState());  | 
            ||
| 24 | }  | 
            ||
| 25 | }, [classifications.length, isLoading, dispatch]);  | 
            ||
| 26 | |||
| 27 |   return { classifications, isLoadingClassifications: isLoading }; | 
            ||
| 28 | }  | 
            ||
| 29 |